|
Irrlicht Engine は、C++で書かれたオープンソースの3次元ゲームエンジン。公式にも Windows、Mac OS X、Linux、Windows CE とクロスプラットフォームで動作し、そのオープンな性質からXboxやPlayStation Portable〔LTE Game Engine 〕、Symbian OS〔Irrlicht For S60 〕、iPhone〔Announcement about Irrlicht on iPhone 〕、 Google Native Clientにも移植されている。 Irrlichtは、オブジェクトが小さく、各種ハードウェアへの移植性・互換性が高く、学習が容易で、コミュニティ〔Irrlicht support forum 〕〔Chat on Irrlicht (IRC) 〕が活発である。非公式の各種言語バインディングにより、.NET〔Irrlicht.Net Cross Platform Project Page 〕、Java〔Jirr: Irrlicht for Java 〕、Perl〔Irrlicht for Perl 〕、Ruby〔IrrRuby 〕、Python〔Venom: Irrlicht wrapper for Python 〕、FreeBASIC、Lua〔IrrLua, A Lua front end to Irrlicht 〕、Delphi〔Irrlicht 4 Delphi 〕〔IrrPascal 〕、C++ Builder〔cppbIrrlicht 〕、AutoIt、Game Maker〔GMIrrlicht 〕 などに対応している。 Irrlichtの開発は2003年に Nikolaus Gebhardt がたった1人で始めた〔Interview with the Irrlicht founder 〕。2006年に 1.0 をリリースすると、開発チームは10人となった〔Development team members 〕。 == 機能・特徴 == Irrlichtは、OpenGL、DirectX 8 および 9、内部のソフトウェアラスタライザ経由での3次元グラフィックスのレンダリングをサポートしている。外部レンダラーやウィンドウシステムは単純なインタフェースでプラグインでき、それによってSDL、iPhone、Symbian OS への対応がコミュニティでなされた。エンジンには標準的なマテリアルレンダラーのライブラリが付属しており、ユーザーのハードウェアが処理できない高度な技法を使っている場合に代替マテリアルを提供できる。新たなマテリアルは実行時にエンジンに追加でき、ユーザー独自のマテリアルを好きなように追加可能である。従来からの固定機能パイプラインのマテリアルに加え、プログラマブルなピクセルシェーダーとバーテックスシェーダー(1.1 から 3.0)、ARBフラグメント/バーテックスプログラム、HLSL、CgおよびGLSLマテリアルをサポートしている。 Irrlichtは豊富なファイルフォーマットをサポートしている。3ds Max のファイル、Quake 2 MD2 モデル、Maya .obj オブジェクト、Quake 3 .bsp マップ、MilkShape 3D のオブジェクト、DirectXの .x ファイルなどをロードし表示できる〔Irrlicht features on Freashmeat〕。さらなる3Dフォーマットは外部プラグインでサポートしている。照明、カメラ、3Dオブジェクトは 'Scene Nodes' と呼ばれる木構造として、汎用アニメータで管理されるか、ノードが相互に管理するか、ユーザーが手動で操作する。組み込みの各種ノード型があり、それらを利用して複雑なシーンを描くことができ、新たなノード型を実行時に追加することも容易で、追加ノード型はコミュニティからも供給されている。組み込みのノード型としては、屋外シーン描画用の地形レンダラーや天球、屋内シーン描画用のBSP、骨格ベースのアニメーション用メッシュ、ステンシルシャドウ、ビルボードシステムやパーティクルシステム、水面などがある。 スキンを設定可能な2DGUIがあり、ユーザーは実行時に独自(またはコミュニティ製)のウィジェットをプラグインして使うことができる。Irrlichtのイベントシステムはマウス、キーボード、ジョイスティック、GUIイベントなどを直接扱うことができ、別のライブラリを必要としない。 ファイルシステムアクセスはプラットフォームに依存しないようファイルとフォルダに抽象化されていて、Zipアーカイブ内のファイルにも透過的にアクセスできる。その他の入出力関連機能としては、XMLの読み書き、スクリーンショットをとる機能、画像やメッシュの操作機能、各種ファイルフォーマットでのセーブ機能がある。 Irrlichtは単純な衝突検出機能をサポートしているが、完全な物理演算エンジンの代替として利用することは推奨されていない。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Irrlicht Engine」の詳細全文を読む スポンサード リンク
|